Re: Call for platforms - Mailing list pgsql-hackers

From Henry B. Hotz
Subject Re: Call for platforms
Date
Msg-id v0421010bb6f29ece8b47@[137.78.84.130]
Whole thread Raw
In response to Call for platforms  (Giles Lean <giles@nemeton.com.au>)
Responses Re: Re: Call for platforms  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Bottom line:  7.1RC1 passes most of the regression tests on 
NetBSD/macppc.  It's probably good enough for normal use since the 
differences are not extensive, but someone would need to look at the 
diff's for longer than the 10 seconds or so I've spent so far, and 
someone should actually set it up for real use to check that.

I used the vanilla tarball from postgresql.org, not the NetBSD package system.

Details:  It's clearly less clean than the OS X build.  Also my G4 
desktop runs rings around both a Sun Ultra 1 and the 8500 I have 
NetBSD on for stuff like this build.

I'm actually reevaluating how much I want to keep running real open 
source OS's vs the partly open MacOS X when both the OS and this 
application runs so much cleaner on the most recent (fastest) 
hardware.  I like Apple stuff, but I never thought I would be this 
impressed with OS X this quickly.  I guess I should shut up now or 
risk a flame war since the point is the PG port quality and not how 
good the target platform is.

>% gmake check
>gmake -C ../../../contrib/spi REFINT_VERBOSE=1 refint.so autoinc.so
>gmake[1]: Entering directory `/usr/local/dist/postgresql-7.1RC1/contrib/spi'
>gmake[1]: `refint.so' is up to date.
>gmake[1]: `autoinc.so' is up to date.
>gmake[1]: Leaving directory `/usr/local/dist/postgresql-7.1RC1/contrib/spi'
>/bin/sh ./pg_regress --temp-install --top-builddir=../../.. 
>--schedule=./parallel_schedule --multibyte=
>============== removing existing temp installation    ==============
>============== creating temporary installation        ==============
>============== initializing database system           ==============
>============== starting postmaster                    ==============
>running on port 65432 with pid 21643
>============== creating database "regression"         ==============
>CREATE DATABASE
>============== installing PL/pgSQL                    ==============
>============== running regression test queries        ==============
>parallel group (13 tests):  text float4 varchar oid int2 char 
>boolean int4 int8 name float8 bit numeric
>     boolean              ... ok
>     char                 ... ok
>     name                 ... ok
>     varchar              ... ok
>     text                 ... ok
>     int2                 ... ok
>     int4                 ... ok
>     int8                 ... ok
>     oid                  ... ok
>     float4               ... ok
>     float8               ... ok
>     bit                  ... ok
>     numeric              ... ok
>test strings              ... ok
>test numerology           ... ok
>parallel group (18 tests):  path interval date time circle reltime 
>box lseg abstime inet point comments tinterval polygon timestamp 
>type_sanity oidjoins opr_sanity
>     point                ... ok
>     lseg                 ... ok
>     box                  ... ok
>     path                 ... ok
>     polygon              ... ok
>     circle               ... ok
>     date                 ... ok
>     time                 ... ok
>     timestamp            ... ok
>     interval             ... ok
>     abstime              ... ok
>     reltime              ... ok
>     tinterval            ... ok
>     inet                 ... ok
>     comments             ... ok
>     oidjoins             ... ok
>     type_sanity          ... ok
>     opr_sanity           ... ok
>test geometry             ... FAILED
>test horology             ... FAILED
>test create_function_1    ... ok
>test create_type          ... ok
>test create_table         ... ok
>test create_function_2    ... ok
>test copy                 ... ok
>parallel group (7 tests):  create_operator create_aggregate inherit 
>triggers constraints create_misc create_index
>     constraints          ... ok
>     triggers             ... ok
>     create_misc          ... ok
>     create_aggregate     ... ok
>     create_operator      ... ok
>     create_index         ... ok
>     inherit              ... ok
>test create_view          ... ok
>test sanity_check         ... ok
>test errors               ... ok
>test select               ... ok
>parallel group (16 tests):  arrays select_having select_distinct 
>transactions random portals select_into union select_distinct_on 
>select_implicit case subselect aggregates btree_index join hash_index
>     select_into          ... ok
>     select_distinct      ... ok
>     select_distinct_on   ... ok
>     select_implicit      ... ok
>     select_having        ... ok
>     subselect            ... ok
>     union                ... ok
>     case                 ... ok
>     join                 ... ok
>     aggregates           ... ok
>     transactions         ... ok
>     random               ... ok
>     portals              ... ok
>     arrays               ... ok
>     btree_index          ... ok
>     hash_index           ... ok
>test misc                 ... ok
>parallel group (5 tests):  portals_p2 alter_table foreign_key 
>select_views rules
>     select_views         ... ok
>     alter_table          ... ok
>     portals_p2           ... ok
>     rules                ... ok
>     foreign_key          ... ok
>parallel group (3 tests):  temp limit plpgsql
>     limit                ... ok
>     plpgsql              ... ok
>     temp                 ... ok
>============== shutting down postmaster               ==============
>
>=======================
> 2 of 76 tests failed.
>=======================
>
>The differences that caused some tests to fail can be viewed in the
>file `./regression.diffs'.  A copy of the test summary that you see
>above is saved in the file `./regression.out'.

The diff is:
>*** ./expected/geometry-positive-zeros.out      Tue Sep 12 14:07:16 2000
>--- ./results/geometry.out      Thu Apr  5 08:29:58 2001
>***************
>*** 445,451 ****
> 
>-----+---------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>-------------------------------------
>       | 
>((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.5980 
>7621135842),(1.53102359017709e-11,3),(1.50000000001768,2.5980762113431 
>1),(2.59807621136607,1.4999999999779),(3,-3.06204718035418e-11),(2.598 
>07621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(- 
>4.59307077053127e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807 
>621138138,-1.49999999995138))
>       | 
>((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.60 
>2540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036) 
>,(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.602540 
>3778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999 
>999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.602540379 
>3795,-47.9999999983795))
>!      | 
>((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301 
>270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5 
>.33012701894346,5.49999999996317),(6,2.99999999994897),(5.330127018892 
>42,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.99999999 
>9923449,-2),(-1.50000000007366,-1.33012701887967),(-3.33012701896897,0 
>.500000000081028))
>       | 
>((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.598 
>07621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311), 
>(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133 
>545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999 
>999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.598076211381 
>38,0.500000000048616))
>       | 
>((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.66 
>0254037861),(100.000000000051,210),(105.000000000059,208.66025403781), 
>(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254
>037785,194.999999999897),(104.999999999882,191.339745962088),(99.99999 
>99998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,19 
>5.000000000162))
>       | 
>((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540 
>378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186 
>.602540378869,49.9999999992634),(200,-1.02068239345139e-09),(186.60254 
>0377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.99 
>9999998469,-100),(49.9999999985268,-86.6025403775933),(13.397459620620 
>5,-49.9999999983795))
>--- 445,451 ----
> 
>-----+---------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>---------------------------------------------------------------------- 
>-------------------------------------
>       | 
>((-3,0),(-2.59807621135076,1.50000000000442),(-1.49999999999116,2.5980 
>7621135842),(1.53102359017709e-11,3),(1.50000000001768,2.5980762113431 
>1),(2.59807621136607,1.4999999999779),(3,-3.06204718035418e-11),(2.598 
>07621133545,-1.50000000003094),(1.49999999996464,-2.59807621137373),(- 
>4.59307077053127e-11,-3),(-1.5000000000442,-2.5980762113278),(-2.59807 
>621138138,-1.49999999995138))
>       | 
>((-99,2),(-85.6025403783588,52.0000000001473),(-48.9999999997054,88.60 
>2540378614),(1.00000000051034,102),(51.0000000005893,88.6025403781036) 
>,(87.6025403788692,51.9999999992634),(101,1.99999999897932),(87.602540 
>3778485,-48.0000000010313),(50.9999999988214,-84.6025403791243),(0.999 
>999998468976,-98),(-49.0000000014732,-84.6025403775933),(-85.602540379 
>3795,-47.9999999983795))
>!      | 
>((-4,3),(-3.33012701891794,5.50000000000737),(-1.49999999998527,7.3301 
>270189307),(1.00000000002552,8),(3.50000000002946,7.33012701890518),(5 
>.33012701894346,5.49999999996317),(6,2.99999999994897),(5.330127018892 
>42,0.499999999948437),(3.49999999994107,-1.33012701895622),(0.99999999 
>9923449,-2),(-1.50000000007366,-1.33012701887966),(-3.33012701896897,0 
>.500000000081027))
>       | 
>((-2,2),(-1.59807621135076,3.50000000000442),(-0.499999999991161,4.598 
>07621135842),(1.00000000001531,5),(2.50000000001768,4.59807621134311), 
>(3.59807621136607,3.4999999999779),(4,1.99999999996938),(3.59807621133 
>545,0.499999999969062),(2.49999999996464,-0.598076211373729),(0.999999 
>999954069,-1),(-0.500000000044197,-0.598076211327799),(-1.598076211381 
>38,0.500000000048616))
>       | 
>((90,200),(91.3397459621641,205.000000000015),(95.0000000000295,208.66 
>0254037861),(100.000000000051,210),(105.000000000059,208.66025403781), 
>(108.660254037887,204.999999999926),(110,199.999999999898),(108.660254 
>037785,194.999999999897),(104.999999999882,191.339745962088),(99.99999 
>99998469,190),(94.9999999998527,191.339745962241),(91.3397459620621,19 
>5.000000000162))
>       | 
>((0,0),(13.3974596216412,50.0000000001473),(50.0000000002946,86.602540 
>378614),(100.00000000051,100),(150.000000000589,86.6025403781036),(186 
>.602540378869,49.9999999992634),(200,-1.02068239345139e-09),(186.60254 
>0377848,-50.0000000010313),(149.999999998821,-86.6025403791243),(99.99 
>9999998469,-100),(49.9999999985268,-86.6025403775933),(13.397459620620 
>5,-49.9999999983795))
>
>======================================================================
>
>*** ./expected/horology.out     Sun Dec  3 06:51:11 2000
>--- ./results/horology.out      Thu Apr  5 08:30:01 2001
>***************
>*** 122,128 ****
>  SELECT time with time zone '01:30' + interval '02:01' AS "03:31:00-08";
>   03:31:00-08
>  -------------
>!  03:31:00-08
>  (1 row)
>
>  SELECT time with time zone '01:30-08' - interval '02:01' AS "23:29:00-08";
>--- 122,128 ----
>  SELECT time with time zone '01:30' + interval '02:01' AS "03:31:00-08";
>   03:31:00-08
>  -------------
>!  03:31:00-07
>  (1 row)
>
>  SELECT time with time zone '01:30-08' - interval '02:01' AS "23:29:00-08";
>***************
>*** 140,146 ****
>  SELECT time with time zone '03:30' + interval '1 month 04:01' AS 
>"07:31:00-08";
>   07:31:00-08
>  -------------
>!  07:31:00-08
>  (1 row)
>
>  SELECT interval '04:30' - time with time zone '01:02' AS "+03:28";
>--- 140,146 ----
>  SELECT time with time zone '03:30' + interval '1 month 04:01' AS 
>"07:31:00-08";
>   07:31:00-08
>  -------------
>!  07:31:00-07
>  (1 row)
>
>  SELECT interval '04:30' - time with time zone '01:02' AS "+03:28";
>
>======================================================================
>


During the build I got these ugly, but presumably harmless complaints:

>gmake[4]: Entering directory 
>`/usr/local/dist/postgresql-7.1RC1/src/pl/plpgsql/src'
>gcc -c -I. -I../../../../src/include  -O2 -pipe -Wall 
>-Wmissing-prototypes -Wmissing-declarations -fpic -DPIC -o 
>pl_parse.o pl_gram.c
>lex.plpgsql_yy.c: In function `plpgsql_yylex':
>lex.plpgsql_yy.c:971: warning: label `find_rule' defined but not used
>lex.plpgsql_yy.c: At top level:
>lex.plpgsql_yy.c:2223: warning: `plpgsql_yy_flex_realloc' defined but not used

in a few places, and

>gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations 
>-I../../../src/interfaces/libpq -I../../../src/include   -c -o 
>tab-complete.o tab-complete.c
>tab-complete.c: In function `initialize_readline':
>tab-complete.c:103: warning: assignment from incompatible pointer type
>tab-complete.c: In function `psql_completion':
>tab-complete.c:292: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:296: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:301: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:309: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:320: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:325: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:332: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:337: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:342: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:347: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:350: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:366: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:371: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:378: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:381: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:392: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:400: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:406: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:410: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:413: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:420: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:423: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:429: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:435: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:440: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:448: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:455: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:460: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:465: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:473: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:478: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:490: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:493: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:496: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:506: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:514: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:521: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:532: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:541: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:545: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:553: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:556: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:559: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:569: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:572: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:578: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:582: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:587: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:592: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:599: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:604: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:606: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:608: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:619: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:622: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:626: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:634: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:640: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:646: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:651: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:660: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:666: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:672: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:678: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:682: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:687: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:690: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:698: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:702: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:704: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:709: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:714: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:716: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:718: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:725: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:749: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>tab-complete.c:763: warning: passing arg 2 of `completion_matches' 
>from incompatible pointer type
>gcc -O2 -pipe -Wall -Wmissing-prototypes -Wmissing-declarations 
>command.o common.o help.o input.o stringutils.o mainloop.o copy.o 
>startup.o prompt.o variables.o large_obj.o print.o describe.o 
>tab-complete.o -L../../../src/interfaces/libpq -lpq 
>-Wl,-R/usr/local/lib -lz -lcrypt -lresolv -lcompat -lm -lutil -ledit 
>-ltermcap  -o psql
>gmake[3]: Leaving directory `/usr/local/dist/postgresql-7.1RC1/src/bin/psql'

Great work as always.  It's been nice to see the progressive 
improvement in the portability and quality of the DBMS over the years.


Signature held pending an ISO 9000 compliant
signature design and approval process.
h.b.hotz@jpl.nasa.gov, or hbhotz@oxy.edu


pgsql-hackers by date:

Previous
From: "Rod Taylor"
Date:
Subject: Foreign Key & Rule confusion WAS: Lost Trigger(s)?
Next
From: Thomas Lockhart
Date:
Subject: Re: [lockhart@alumni.caltech.edu: Third call for platform testing]